A typical computing environment uses computing resources belonging to individual computing hardware in order to provide services to user equipments. With the development of computer network technology, such a typical computing environment has evolved into a cloud computing environment. Cloud computing may provide relevant services using available computing resources distributed over a network without end-user knowledge of physical location and configuration of respective computing resources that deliver the services.
A cloud computing service may provide an on-demand outsourced service of computing resources through an information telecommunication network such as the Internet. In a cloud computing environment, a service provider may virtually consolidate data centers distributed over a network to provide necessary services to end-users. In the cloud computing service, a user may be not required to buy or install computing resources including applications, storages, operating systems (OS), and/or security software in a user equipment. Instead, a user may select and simply use virtualized computing resources whenever a user wants.
In order to provide such a cloud computing service, data centers may be constructed through virtualizing respective computing resources distributed over a network. Furthermore, such data centers may be required to be dynamically expanded according to service demands of users, such as the number of accessed user equipments or an amount of data traffic generated for providing a requested service.
Typical scale-out technology has been employed to expand virtualized computing resources of data centers in response to the abrupt increment of service demands. Such scale-out technology may horizontally expend processing capability by simply adding computing resources such as a virtual machine capable of processing requested services.
The typical scale-out technology, however, is not reflected with the cloud computing environment where computing resources of the data centers are physically distributed over a network. Accordingly, there is a need for improving a cloud computing technology to efficiently and dynamically managing and controlling computing resources distributed over the network according to service demands.